package com.frank.oj.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.frank.model.entity.training.TrainingProblem;
import com.frank.oj.model.vo.ProblemFullScreenListVO;
import com.frank.oj.model.vo.ProblemVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author frank
 * @Date 2024/3/23
 */
@Mapper
public interface TrainingProblemMapper extends BaseMapper<TrainingProblem> {
    List<TrainingProblem> getTrainingListAcceptedCountByUid(@Param("tidList") List<Long> tidList, @Param("uid") String currentUid);

    List<TrainingProblem> getPrivateTrainingProblemListByPid(@Param("pid") Long pid, @Param("uid") String uid);

    List<Long> getTrainingProblemCount(@Param("tid") Long tid);

    List<ProblemVO> getTrainingProblemList(@Param("tid") Long tid);

    List<TrainingProblem> getGroupTrainingListAcceptedCountByUid(@Param("tidList") List<Long> tidList, @Param("gid") Long gid, @Param("uid") String uid);

    List<ProblemFullScreenListVO> getTrainingFullScreenProblemList(@Param("tid") Long tid);
}
